TABLE OF CONTENTS

frameclass/--background--
frameclass/FRM_BackFill
frameclass/FRM_CenterTitle
frameclass/FRM_CustomHook:FRM_BackFillHook
frameclass/FRM_EdgesOnly
frameclass/FRM_Flags
frameclass/FRM_FrameHeight
frameclass/FRM_FrameWidth
frameclass/FRM_HighlightTitle
frameclass/FRM_Recessed
frameclass/FRM_Template
frameclass/FRM_TextAttr
frameclass/FRM_ThinFrame
frameclass/FRM_Title
frameclass/FRM_TitleID
frameclass/FRM_TitleLeft
frameclass/FRM_TitleRight
frameclass/FRM_Type
frameclass/FRM_[#?]Pen


top frameclass/--background--
    NAME
	Class:		frameclass
	Superclass:	IMAGECLASS
	Include File:	

    FUNCTION
	To  provide   a   general   framing  image.  It  has a set of built-in
	framing  and  background  types  and  the  possibility	to  add  hooks
	for custom frames and backgrounds.



top frameclass/FRM_BackFill
    NAME
	FRM_BackFill -- ( ULONG )

    FUNCTION
	Set or get the built-in background type to use.  You can select any of
	the following types:

	STANDARD_FILL -- Normal fill as you  would  expect  from the  selected
		frame type.

	SHINE_RASTER -- A raster with the SHINEPEN and BACKGROUNDPEN.

	SHADOW_RASTER -- A raster with the SHADOWPEN and BACKGROUNDPEN.

	SHINE_SHADOW_RASTER -- A raster with the SHINEPEN and SHADOWPEN.

	FILL_RASTER -- A raster with the FILLPEN and BACKGROUNDPEN.

	SHINE_FILL_RASTER -- A rster with the SHINEPEN and FILLPEN.

	SHADOW_FILL_RASTER -- A raster with the SHADOWPEN and FILLPEN.

	SHINE_BLOCK -- A SHINEPEN fill.

	SHADOWBLOCK -- A SHADOWPEN fill.

	Please	note  that  setting any of the above backfill types except for
	STANDARD_FILL will override the FRM_BackFillHook.

    DEFAULT
	STANDARD_FILL.

    APPLICABILITY
	(ISG).

    SEE ALSO
	, FRM_BackFillHook



top frameclass/FRM_CenterTitle
    NAME
	FRM_CenterTitle - ( BOOL )

    FUNCTION
	Set or clear the FRF_CENTER_TITLE flag.

    DEFAULT
	FALSE.

    APPLICABILITY
	(ISG).

    SEE ALSO
	FRM_Flags



top frameclass/FRM_CustomHook:FRM_BackFillHook
    NAME
	FRM_CustomHook, FRM_BackFillHook -- ( struct Hook * )

    FUNCTION
	Set or get custom framing and/or backfilling hooks.  These  hooks  are
	called as follows:

	rc = hookFunc( hook, object, message );
	D0	       A0    A2      A1

	The  message  packet  can  be  a  pointer  to  any  of	the  following
	structures:

	struct FrameDrawMsg {
		ULONG		  fdm_MethodID; /* FRM_RENDER */
		struct RastPort  *fdm_RPort;
		struct DrawInfo  *fdm_DrawInfo;
		struct Rectangle *fdm_Bounds;
		UWORD		  fdm_State;
		UBYTE             fdm_Horizontal;	/* V41 */
		UBYTE             fdm_Vertical;		/* V41 */
		ULONG             fdm_Flags;		/* V41 */

	};

	fdm_RPort -- This points to the RastPort in which the frame/background
		must be rendered.

	fdm_DrawInfo --  This  points  to  a  DrawInfo structure as defined in
		

	fdm_Bounds -- This points to a Rectangle structure in which the bounds
		of the frame/background are stored.

	fdm_State -- This holds the state in which you should render the frame
		or background.	Please	refer  to  for
		more information about rendering styles.
		
	fdm_Horizontal, fdm_Vertical -- The vertical or horizontal thickness
		of the frame.  If zero, use default for that value.  If you do
		not wish to support custom frame thickness, ignore these.
		
	fdm_Flags -- A copy of the flags for this frame; you may use this to
		know if FRF_THIN_FRAME is set for the frame.

	The  FrameDrawMsg  is  sent to both the custom and backfill hooks when
	they must render.

	struct ThicknessMsg {
		ULONG		  tm_MethodID; /* FRM_THICKNESS */
		struct {
			UBYTE	 *Horizontal;
			UBYTE	 *Vertical;
		}		  tm_Thickness;
		BOOL		  tm_Thin;
	};

	tm_Thickness -- In  this  field  you  must store the thickness	of the
		frame lines. The thickness requested is the width in pixels of
		the left OR right border (Horizontal) and the height in pixels
		of the top OR bottom border (Vertical).

	tm_Thin -- This field is added in V38 of the library.  Do  not attempt
		to read it with lower versions of the  library!  When  set  to
		TRUE you must give the thickness of  the frame	when it  is in
		thin (FRM_ThinFrame) mode.

	The ThicknessMsg is only sent to the custom frame hook.

	The hook routines must return any of the following return codes:

	FRC_OK -- OK. Message understood and executed.

	FRC_UNKNOWN -- Message not understood. The class will default in  this
		case.

    DEFAULTS
	NULL.

    APPLICABILITY
	(ISG)

    SEE ALSO
	, 



top frameclass/FRM_EdgesOnly
    NAME
	FRM_EdgesOnly -- ( BOOL )

    FUNCTION
	Set or clear the FRF_EDGES_ONLY flags.

    DEFAULT
	FALSE.

    APPLICABILITY
	(ISG).

    SEE ALSO
	FRM_Flags



top frameclass/FRM_Flags
    NAME
	FRM_Flags -- ( ULONG )

    FUNCTION
	To initialize any of the following flags:

	FRF_EDGES_ONLY -- Only the frame border is  rendered when this flag is
		set.  The background isn't touched.

	FRF_RECESSED -- Normally the frame is raised.  With  this flag set the
		frame is recessed by default.

	FRF_CENTER_TITLE -- Normally the frame title is rendered with the text
		baseline on the top border of the frame. When this flag is set
		the title is cenetered on the top border of the frame.

	FRF_HIGHLIGHT_TITLE -- Normally the frame title is  rendered  with the
		TEXTPEN. When this flag is set the title is rendered using the
		HIGHLIGHTTEXTPEN.

	FRF_THIN_FRAME -- This	flag, when set,  will  halve  the  size of the
		vertical borders of the frame.	This  looks  a	lot  better on
		screens width a 1:1 aspect ratio.

	FRF_TITLE_LEFT ** V40 ** -- This flag, when  set,  will make the frame
		title stick to the left side of the frame.

	FRF_TITLE_RIGHT ** V40 ** -- This flag, when  set, will make the frame
		title stick to the right side of the frame.

    DEFAULT
	0.

    APPLICABILITY
	(ISG).

    SEE ALSO
	,	  FRM_Title,	FRM_EdgesOnly,	 FRM_Recessed,
	FRM_CenterTitle, FRM_HighlightTitle, FRM_ThinFrame



top frameclass/FRM_FrameHeight
    NAME
	FRM_FrameHeight -- ( UBYTE )

    FUNCTION
	Set or get the height in pixels of the top or bottom frame border.
	Not all frame types support variable frame thickness.

    APPLICABILITY
	(ISG).

    SEE ALSO
	FRM_FrameWidth



top frameclass/FRM_FrameWidth
    NAME
	FRM_FrameWidth -- ( UBYTE )

    FUNCTION
	Set or get the width in pixels of the left or right frame border.
	Not all frame types support variable frame thickness.

    APPLICABILITY
	(ISG).

    SEE ALSO
	FRM_FrameHeight



top frameclass/FRM_HighlightTitle
    NAME
	FRM_HighlightTitle -- ( BOOL )

    FUNCTION
	Set or clear the FRF_HIGHLIGHT_TITLE flag.

    DEFAULT
	FALSE.

    APPLICABILITY
	(ISG).

    SEE ALSO
	FRM_Flags



top frameclass/FRM_Recessed
    NAME
	FRM_Recessed -- ( BOOL )

    FUNCTION
	Set or clear the FRF_RECESSED flag.

    DEFAULT
	FALSE.

    APPLICABILITY
	(ISG).

    SEE ALSO
	FRM_Flags



top frameclass/FRM_Template
    NAME
	FRM_Template -- ( Object * )

    FUNCTION
	Copy all of the attributes of one frameclass object to another frameclass
	object.  This allows for fast duplication of many frame attributes at one
	time.  You may free the template object afterwards.
	
    DEFAULT
	NULL.

    APPLICABILITY
	(IS)

    SEE ALSO




top frameclass/FRM_TextAttr
    NAME
	FRM_TextAttr -- ( struct TextAttr * )

    FUNCTION
	Set  or  get  the  font that is used to render the frame title. Please
	note  that  this font is opened width OpenFont() and must be available
	in memory.

    DEFAULT
	NULL.

    APPLICABILITY
	(ISG)

    SEE ALSO
	FRM_Title



top frameclass/FRM_ThinFrame
    NAME
	FRM_ThinFrame -- ( BOOL )

    FUNCTION
	Set or clear the FRF_THIN_FRAME flag.

    DEFAULT
	FALSE.

    APPLICABILITY
	(ISG).

    SEE ALSO
	FRM_Flags



top frameclass/FRM_Title
    NAME
	FRM_Title -- ( STRPTR )

    FUNCTION
	Set or get the frame title.  Each frame can have a title in its top border.
	This title can contain infoclass command sequences.

    DEFAULT
	NULL.

    APPLICABILITY
	(ISG).

    SEE ALSO
	FRM_TitleID, FRM_TextAttr, infoclass.doc/INFO_TextFormat



top frameclass/FRM_TitleID
    NAME
	FRM_TitleID -- ( ULONG ) ** V41 **

    FUNCTION
	Set or get the ID for FRM_Title.  BASE_LOCALIZE uses this to set FRM_Title.

    DEFAULT
	0.

    APPLICABILITY
	(ISG).

    SEE ALSO
	FRM_Title, baseclass.doc/BASE_LOCALIZE



top frameclass/FRM_TitleLeft
    NAME
	FRM_TitleLeft -- ( BOOL ) ** V40 **

    FUNCTION
	To  make  the  frame  title  appear and remain on the left side of the
	frame instead of centering it.

    DEFAULT
	FALSE.

    APPLICABILITY
	(ISG).

    SEE ALSO
	FRM_TitleRight



top frameclass/FRM_TitleRight
    NAME
	FRM_TitleRight -- ( BOOL ) ** V40 **

    FUNCTION
	To  make  the frame  title  appear and remain on the right side of the
	frame instead of centering it.

    DEFAULT
	FALSE.

    APPLICABILITY
	(ISG).

    SEE ALSO
	FRM_TitleLeft



top frameclass/FRM_Type
    NAME
	FRM_Type - ( ULONG )

    FUNCTION
	Set  or  get  the  type of the used framing. You can select any of the
	following types:

	FRTYPE_CUSTOM --  This is a custom framing type which is automatically
		set when you supply a framing hook.

	FRTYPE_BUTTON -- Standard button gadget frame.  Normal bevel.

	FRTYPE_RIDGE -- Standard string gadget frame.  Outer 1/2 normal bevel,
		inner 1/2 reverse bevel.

	FRTYPE_DROPBOX -- Standard icon-dropbox frame.  Outer 1/3 normal bevel,
		middle 1/3 background, inner 1/3 reverse bevel.

	FRTYPE_NEXT -- Standard NeXT frame.  Outer 1/2 reverse bevel, inner 1/2
		normal bevel (basically a recessed string gadget frame).

	FRTYPE_RADIOBUTTON -- Standard MX gadget frame.

	FRTYPE_XEN_BUTTON -- XEN style button frame.

	FRTYPE_TAB_ABOVE, FRTYPE_TAB_BELOW -- ** V40 ** Two  frame types which
		are a normal button frame without the top or bottom.   Usually
		this is only used with pages and a tabs object.

	FRTYPE_BORDER -- ** V40 ** A frame  type  which  is  best  suited  for
		objects  inside  window borders.   It  is a button style frame
		which always has thin lines.

	FRTYPE_NONE -- ** V40 ** No frame is rendered  but  all  features like
		backfill hooks, titles etc. are available.
	
	FRTYPE_FUZZ_BUTTON -- ** V41 ** Outer 1/4 normal bevel, inner 3/4 normal
		bevel rastered 50% with frame.

    DEFAULT
	FRTYPE_BUTTON.

    APPLICABILITY
	(ISG).

    SEE ALSO
	FRM_CustomHook



top frameclass/FRM_[#?]Pen
   NAME
	FRM_BackPen			: FRM_BackDriPen,		** V39 **
	FRM_BackRasterPen		: FRM_BackRasterDriPen,		** V41 **
	FRM_SelectedBackPen		: FRM_SelectedBackDriPen,	** V39 **
	FRM_SelectedBackRasterPen	: FRM_SelectedBackRasterDriPen	** V41 **
	 	-- ( UWORD )

   FUNCTION
   	To specify the background colors of a frame.  Each pen may be specified
   	as a Pen or DrawInfo pen, these are mutually exclusive.

	The frame may be one color, FRM_#?Back(Dri)Pen, or two colors, with the
	second pen specified as FRM_#?BackRaster(Dri)Pen.

	Finally, you can specify two states:  the backfill of the frame in a normal
	unselected state and the background fill of the frame in a selected state.

	Specifying ~0 (-1) for the pens will deactivate the backfill and
	the class will fall back to the default coloring sceme.

    DEFAULTS
	~0.

    APPLICABILITY
	(ISG).